import { mergeOptions } from "../utils/index.js";

export function initGlobalAPI(Vue) {
  // vm.$option = options
  // 整合了所有的全局相关的内容
  Vue.options = {

  }

  Vue.mixin = function (mixin) {
    // 如何实现两个对象的合并
    this.options = mergeOptions(this.options, mixin);
  }

  // 声明周期的合并策略 [beforeCreate, beforeCreate], 发布订阅者

  // Vue.mixin({
  //   a: 1,
  //   b: 2,
  //   beforeCreate() {
  //     console.log("全局注册的mixin1");
  //   }
  // })
  // Vue.mixin({
  //   a: 11,
  //   c: 3,
  //   beforeCreate() {
  //     console.log("全局注册的mixin2");
  //   }
  // })
  // console.log(Vue.options);
}